#ifndef INTERFACE_H
#define INTERFACE_H

#include <iostream>
#include <string>
using std::string;

namespace Animal {
class IPlay {
 public:
  // 构造函数
  IPlay() { std::cout << "----- IPlay constructor -----" << std::endl; }

  /*
  析构函数
  注意这里必须要是 virtual 的，否则会出现内存泄漏
  我没加 virtual 时 delete players[0] 程序崩溃了
  */
  virtual ~IPlay() {
    std::cout << "----- IPlay destructor -----" << std::endl;
  };

  // 纯虚函数，玩耍
  virtual string Play() = 0;
};
}  // namespace Animal

#endif